package com.wlyuan.open.dto;

import com.alibaba.fastjson.annotation.JSONField;
import com.wlyuan.open.OpenBaseSyncDTO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * @author yuanzheng
 */
@EqualsAndHashCode(callSuper = true)
@Data
@ToString(callSuper = true)
public class OpenGoodsSyncDTO extends OpenBaseSyncDTO implements Serializable {
    private static final long serialVersionUID = -2571988636494297022L;
    private Long goodsId;

    @ApiModelProperty(value = "物品名称")
    private String name;

    @ApiModelProperty(value = "物品类型名称")
    private String type;

    @ApiModelProperty(value = "物品单位名称")
    private String unit;

    @ApiModelProperty(value = "物品价值")
    private BigDecimal value;

    @ApiModelProperty(value = "物品规格")
    private String spec;

    @ApiModelProperty(value = "物料编码")
    private String barcode;

    @ApiModelProperty(value = "长")
    private Double length;

    @ApiModelProperty(value = "宽")
    private Double width;

    @ApiModelProperty(value = "高")
    private Double height;

    @ApiModelProperty(value = "体积")
    private BigDecimal volume;

    @ApiModelProperty(value = "箱入数")
    @JSONField(alternateNames = "quantity")
    private Integer boxInput;

    @ApiModelProperty(value = "净重")
    private BigDecimal netWeight;

    @ApiModelProperty(value = "毛重")
    private BigDecimal grossWeight;

    @ApiModelProperty(value = "客户名称")
    private String customerName;

    @ApiModelProperty(value = "物品状态")
    private Integer status;

    @ApiModelProperty(value = "热度")
    private Integer hots;

    private LocalDateTime createAt;
    private LocalDateTime updateAt;
    private Long createBy;
    private Long updateBy;

    private String sourceId;
}
